0.1 By Month

0.2 CCAMLR Units

0.3 Distance

0.4 Time

0.5 Velocity

0.6 Angles

1 Correlated random walk

Process Model

\[ d_{t} \sim T*d_{t-1} + Normal(0,\Sigma)\] \[ x_t = x_{t-1} + d_{t} \]

1.1 Parameters

For each individual:

\[\theta = \text{Mean turning angle}\] \[\gamma = \text{Move persistence} \]

For both behaviors process variance is: \[ \sigma_{latitude} = 0.1\] \[ \sigma_{longitude} = 0.1\]

1.2 Behavioral States

\[ \text{For each individual i}\] \[ Behavior_1 = \text{traveling}\] \[ Behavior_2 = \text{foraging}\]

\[ \alpha_{i,1,1} = \text{Probability of remaining traveling when traveling}\] \[\alpha_{i,2,1} = \text{Probability of switching from Foraging to traveling}\]

\[\begin{matrix} \alpha_{i,1,1} & 1-\alpha_{i,1,1} \\ \alpha_{i,2,1} & 1-\alpha_{i,2,1} \\ \end{matrix}\]

With the probability of switching states:

\[logit(\phi_{traveling}) = \alpha_{Behavior_{t-1}}\]

\[\phi_{foraging} = 1 - \phi_{traveling} \]

1.3 Continious tracks

The transmitter will often go dark for 10 to 12 hours, due to weather, right in the middle of an otherwise good track. The model requires regular intervals to estimate the turning angles and temporal autocorrelation. As a track hits one of these walls, call it the end of a track, and begin a new track once the weather improves. We can remove any micro-tracks that are less than three days. Specify a duration, calculate the number of tracks and the number of removed points. Iteratively.

How did the filter change the extent of tracks?

Look at the observations were defined into tracks.

sink(“Bayesian/Multi_RW.jags”) cat(" model{

#Constants
pi <- 3.141592653589

##argos observation error##
argos_prec[1:2,1:2] <- inverse(argos_sigma*argos_cov[,])

#Constructing the covariance matrix
argos_cov[1,1] <- 1
argos_cov[1,2] <- sqrt(argos_alpha) * rho
argos_cov[2,1] <- sqrt(argos_alpha) * rho
argos_cov[2,2] <- argos_alpha

for(i in 1:ind){
for(g in 1:tracks[i]){

## Priors for first true location
#for lat long
y[i,g,1,1:2] ~ dmnorm(argos[i,g,1,1,1:2],argos_prec)

#First movement - random walk.
y[i,g,2,1:2] ~ dmnorm(y[i,g,1,1:2],iSigma)

###First Behavioral State###
state[i,g,1] ~ dcat(lambda[]) ## assign state for first obs

#Process Model for movement
for(t in 2:(steps[i,g]-1)){

#Behavioral State at time T
logit(phi[i,g,t,1]) <- alpha_mu[state[i,g,t-1]] 
phi[i,g,t,2] <- 1-phi[i,g,t,1]
state[i,g,t] ~ dcat(phi[i,g,t,])

#Turning covariate
#Transition Matrix for turning angles
T[i,g,t,1,1] <- cos(theta[state[i,g,t]])
T[i,g,t,1,2] <- (-sin(theta[state[i,g,t]]))
T[i,g,t,2,1] <- sin(theta[state[i,g,t]])
T[i,g,t,2,2] <- cos(theta[state[i,g,t]])

#Correlation in movement change
d[i,g,t,1:2] <- y[i,g,t,] + gamma[state[i,g,t]] * T[i,g,t,,] %*% (y[i,g,t,1:2] - y[i,g,t-1,1:2])

#Gaussian Displacement
y[i,g,t+1,1:2] ~ dmnorm(d[i,g,t,1:2],iSigma)
}

#Final behavior state
logit(phi[i,g,steps[i,g],1]) <- alpha_mu[state[i,g,steps[i,g]-1]] 
phi[i,g,steps[i,g],2] <- 1-phi[i,g,steps[i,g],1]
state[i,g,steps[i,g]] ~ dcat(phi[i,g,steps[i,g],])

##  Measurement equation - irregular observations
# loops over regular time intervals (t)    

for(t in 2:steps[i,g]){

# loops over observed locations within interval t
for(u in 1:idx[i,g,t]){ 
zhat[i,g,t,u,1:2] <- (1-j[i,g,t,u]) * y[i,g,t-1,1:2] + j[i,g,t,u] * y[i,g,t,1:2]

#for each lat and long
#argos error
argos[i,g,t,u,1:2] ~ dmnorm(zhat[i,g,t,u,1:2],argos_prec)
}
}
}
}
###Priors###

#Process Variance
iSigma ~ dwish(R,2)
Sigma <- inverse(iSigma)

##Mean Angle
tmp[1] ~ dbeta(20, 20)
tmp[2] ~ dbeta(10, 10)

# prior for theta in 'traveling state'
theta[1] <- (2 * tmp[1] - 1) * pi

# prior for theta in 'foraging state'    
theta[2] <- (tmp[2] * pi * 2)

##Move persistance
# prior for gamma (autocorrelation parameter)
#from jonsen 2016
gamma[2] ~ dbeta(1,5)       ## gamma for state 2
dev ~ dunif(0.1,1)          ## a random deviate to ensure that gamma[1] > gamma[2]
gamma[1] <- gamma[2] + dev

##Behavioral States

#Hierarchical structure across motnhs
#Intercepts
alpha_mu[1] ~ dnorm(0,0.386)
alpha_mu[2] ~ dnorm(0,0.386)

#Variance
alpha_tau[1] ~ dt(0,1,1)I(0,)
alpha_tau[2] ~ dt(0,1,1)I(0,)

#Probability of behavior switching 
lambda[1] ~ dbeta(1,1)
lambda[2] <- 1 - lambda[1]

##Argos priors##
#longitudinal argos error
argos_sigma ~ dunif(0,10)

#latitidunal argos error
argos_alpha~dunif(0,10)

#correlation in argos error
rho ~ dunif(-1, 1)


}"
,fill=TRUE)

sink()

##    user  system elapsed 
##   1.012   0.040 993.276

1.4 Chains

##                           Type     Size     PrettySize  Rows Columns
## jagM            rjags.parallel 50102120  [1] "47.8 Mb"     6      NA
## mdat                data.frame 16339200  [1] "15.6 Mb" 49859      47
## m                        ggmap 13116672  [1] "12.5 Mb"  1280    1280
## b       SpatialPointsDataFrame  4875992   [1] "4.7 Mb"  3354      47
## fccamlr             data.frame  1649608   [1] "1.6 Mb" 41160       7
## mxy                 grouped_df  1057728     [1] "1 Mb"  3323      52
## sxy                       list  1003648 [1] "980.1 Kb"     7      NA
## data                      list   991216   [1] "968 Kb"     9      NA
## d       SpatialPointsDataFrame   939008   [1] "917 Kb"  3354      47
## oxy                 data.frame   882256 [1] "861.6 Kb"  3354      47
##            used (Mb) gc trigger  (Mb) max used  (Mb)
## Ncells  1548523 82.8    2637877 140.9  2637877 140.9
## Vcells 12577714 96.0   29035403 221.6 35853897 273.6

Look at the convergence of phi, just for an example

Same section of chain for state

Overall relationship between phi and state, nice test of convergence.

1.4.1 Compare to priors

1.5 Parameter Summary

##   parameter         par        mean       lower     upper
## 1  alpha_mu alpha_mu[1]  0.42421981 -0.85965380 1.7541179
## 2  alpha_mu alpha_mu[2]  1.97746199  0.35549643 3.8562231
## 3     gamma    gamma[1]  0.41402005  0.30382823 0.5136270
## 4     gamma    gamma[2]  0.22186943  0.06316513 0.3459807
## 5     theta    theta[1] -0.05967522 -0.25514637 0.1543776
## 6     theta    theta[2]  2.40109592  1.76169833 3.2409506

2 Behavioral Prediction

Relationship between phi and state

2.1 Spatial Prediction

2.2 Confidence in state estimate

Red is traveling, blue is foraging, midpoint is 0

2.3 By individual

2.4 Compared to CMLRR regions

2.5 Autocorrelation in behavior

2.6 Location of Behavior

3 Overlap with Krill Fishery

4 Time spent in grid cell

4.1 Traveling

##                             Type     Size     PrettySize   Rows Columns
## pc                        tbl_df 44264960  [1] "42.2 Mb" 850000      10
## mdat                  data.frame 16339200  [1] "15.6 Mb"  49859      47
## temp                       ggmap 13116816  [1] "12.5 Mb"   1280    1280
## a                         tbl_df 11448600  [1] "10.9 Mb" 286000       7
## b         SpatialPointsDataFrame  4875992   [1] "4.7 Mb"   3354      47
## fccamlr               data.frame  1649608   [1] "1.6 Mb"  41160       7
## mxy                   data.frame  1098472     [1] "1 Mb"   3247      58
## traveling             data.frame  1016264 [1] "992.4 Kb"   3000      58
## data                        list   991216   [1] "968 Kb"      9      NA
## d         SpatialPointsDataFrame   939008   [1] "917 Kb"   3354      47
##            used  (Mb) gc trigger  (Mb) max used  (Mb)
## Ncells  1614274  86.3    3205452 171.2  3205452 171.2
## Vcells 13575074 103.6   34922483 266.5 35853897 273.6